package com.saicent.note.core;

import java.util.List;

/**
 * @author linshuaishuai
 * @since 1.0
 */
public interface ArticleManager {
	
	/**
	 * 获取所有文章
	 * @return 文章列表
	 */
	List<Article> allArticles();
	
	/**
	 * 获取所有类别
	 * @return 类别列表
	 */
	List<Category> allCategories();
	
	/**
	 * 检索类别
	 * @param categoryId 类别ID
	 * @return 类别
	 */
	Category getCategory(String categoryId);
	
	/**
	 * 根据类别ID，搜索文章
	 * @param categoryId
	 * @return 属于该类别的所有文章
	 */
	List<Article> getArticlesByCategory(String categoryId);
	
	/**
	 * 根据文章ID，查找文章
	 * @param articleId
	 * @return 文章
	 */
	Article getArticle(String articleId);
	
	void reload();
	
	void deleteArticle(String articleId);
}
